class Accion < ActiveRecord::Base
  validates_presence_of :nombre
  belongs_to :controller
  has_one :modulo, :through => :controller
  has_many :perfiles, :through => :permisos
  has_many :permisos
  has_many :modulos

  default_scope :order => "controller_id, acciones.nombre"
  named_scope :por_controller_id, lambda{|id| {:conditions=>{:controller_id=>id}}}
  named_scope :find_by_controller_nombre,lambda {|c_name| {:include=>[:controller],:conditions=>{:controlleres=>{:nombre=>c_name}}}}
    #Trae el codigo de accion de acuerdo al controller y accion
  def self.get_by_name(controller,action)
    con = Controller.find_by_nombre(controller)
    con.nil? ? nil : Accion.find_by_nombre_and_controller_id(action, con.id)
  end

  def nombref
    self.nombre.squish
  end
end
